草庐IT

安卓 NDK 和 C++ STL

全部标签

c++ - 视觉 C++ 2010 : what major c++0x (and STL) features are still missing?

有原子操作吗?线?绑定(bind)?还缺少什么?编辑:我对c++0x及其STL很感兴趣 最佳答案 查看here和here 关于c++-视觉C++2010:whatmajorc++0x(andSTL)featuresarestillmissing?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4748772/

c++ - STL 兼容容器

我很好奇什么需要符合STL的容器(或符合boost的容器,我的理解是它们相同或非常相似)。我见过一些人们称之为STL兼容的示例(例如thisoneoveratcodeproject,显然是实际的STL容器),但我不确定我需要这些容器的哪些组件。据我所知,我至少需要这些东西:符合STL的迭代器(当前的STL仅使用双向或更高版本的迭代器,不知道这是必需的还是偶然发生的,仍在弄清楚什么是被认为是“STL-兼容迭代器")定义分配器的机制(默认为std::allocator),以及正确使用它们(仍在尝试弄清楚最后一部分的含义)用于元编程的公共(public)类型定义(指针类型、const指针类型

c++ - 是否有必要锁定 STL 容器以读取其数据?

我正在编写一个多线程服务器,其中包含5或6个全局数据结构(映射、vector等),并且我正在尝试确定是否需要为某些数据保留互斥锁以便从映射中读取值或vector,或者仅当我要更改数据/添加新项目时才需要持有互斥体。 最佳答案 如果多个线程正在访问容器并且至少有一个线程正在修改容器的内容,则您需要同步对容器的访问。如果没有任何线程修改过容器的内容,则不需要同步对它的访问。[请注意,C++语言标准没有提到线程(至少现在还没有),因此根本不需要容器可以从多个线程使用。也就是说,我上面所说的至少对于标准库的所有主要实现都是正确的,并且是即将

c++ - 您如何为 Android NDK 调试 C++?

在Android上调试native代码有哪些选项?gdb是唯一可用的调试器吗?他们是VisualStudio集成吗?我查看了Android文档并进行了google搜索,但不确定我是否找到了正确的答案。希望一些SO专业人士可以让我免于反复试验的痛苦。但如果我的选择是gdb或printf,我将转而使用MonoforAndroid!解决方案!WinGDB适用于安卓系统。使用VisualStudio进行调试! 最佳答案 我自己没试过,但是这个blogpost解释了如何在VisualStudio中进行NDK调试。此外,我在工作中已经对NDK调

c++ - 如何使用 STL 将数字格式化为有效数字

我正在尝试使用C/C++(最好是STL)将数字格式化为特定数量的有效数字。我在Javascript(toPrecision())和.Net中看到过这样做的例子,但我找不到任何关于在C/C++中这样做的例子。我想创建一个类似这样的函数:std::stringtoPrecision(doublevalue,intsignificantDigits){std::stringformattedString;//magichappensherereturnformattedString;}因此它会产生这样的结果:toPrecision(123.4567,2)-->"120"toPrecision

c++ - g++ 中的 SGI STL 绳索?

似乎在我的/usr/include/c++/4.5.1/ext/rope(和ropeimpl.h)中有rope的实现。我将它与SGISTL进行了比较,代码似乎与代码库几乎相同。我不知道它的状态或者它是否正常工作。我也不知道这是super陈旧的代码,还是正在进行中的代码无论如何,我还没有找到任何关于如何使用它的引用资料(如果功能正常的话)。你知道我错过了什么吗?有我可以使用的用法示例吗?编辑如果您看到cvshistoryhere,您会看到上次事件是4个月前,看起来不太活跃,但也没有被遗弃。 最佳答案 它直接取自SGI代码,并且仍在维护

c++ - 使用 C++ STL 的 DFT(离散傅里叶变换)

我尝试计算此数组x_1的DFT。它一定很简单,但我的值(value)观太低了。我的代码有什么问题?请不要指向其他示例的链接-只是为我自己的代码寻找修复。#include#include#includeintmain(){constunsignedintN=20;constdoublex_1[N]={0,0.3,0.6,0.8,1,1,0.9,0.7,0.5,0.2,0.2,0.5,0.7,0.9,1,1,0.8,0.6,0.3,0};for(unsignedintk=0;ksum(0.0,0.0);for(unsignedintj=0;jmy_exponent(0.0,M_PI/N*(

c++ - 使用带有 STL 容器的 boost.serialization 作为模板参数

我想将boost.serialization与模板化容器类一起使用://MyContainer.htemplatestructMyContainer{Tt;templatevoidserialize(Archive&archive,constunsignedversion){archive&t;}};当我使用STL容器作为模板参数时,例如//Main.cpp...MyContainer>mc;std::ofstreamofs("foo.bar");boost::archive::binary_oarchiveoa(ofs);oa...VisualStudio11提示并显示以下错误消息:

c++ - 排序和连接百万或十亿 STL vector 的最快方法

将数百万或数十亿个STLvector排序并串联成单个STLvector的最佳方法是什么。目前,我的做法是迭代vector并执行每个操作。这是伪代码typedefunsignedlonglongintULLInt;ULLIntN=1000000;vector>vecVec(N,vector());vectorconcatVec;//...//...fillvectorsinsidevecVechere//..wealsogetherethetotalnumberofvaluesinsertedinallvectors(count)//...//reservethespaceconcatV

c++ - 如何在 C++ 中传递 STL 对象的消息,例如 MPI 中的 std::map?

我想使用MPI在C++中传递STL对象,例如std::map和std::list,但我不知道如何实现。 最佳答案 不幸的是,这无法直接实现。您将需要进行某种序列化。既然您提到了MPI,您可能对高性能感兴趣。在这种情况下,使用序列化可能不是最好的主意。所以我会远离更复杂的STL结构,只使用std::vector。 关于c++-如何在C++中传递STL对象的消息,例如MPI中的std::map?,我们在StackOverflow上找到一个类似的问题: https: